/**
 * let，const与var的区别
 * 1 let不存在变量提升，let声明的变量必须先声明再使用
 *   var 存在变量提升 ,但在react-hooks+ts中要想使用变量提升，在声明的时候不可赋值
 * 2 同一个作用域下，let声明的变量不可重复声明，而var可以
 * 3 let属于块级作用域，var属于函数作用域
 * 4 const 声明的变量为只读的，一旦声明，常量的值就不能改变，
 *   const 声明的变量一定要初始化，不能只声明不赋值，
 *   const 声明的对象的属性是可以更改的,const 实质上保证的并不是变量的值不得改动，而是变量指向的 内存地址 的值不得改动,
 *   对于简单类型数据，值就保存在变量指向的内存地址中，相当于常量。
 *   而对于复合型的数据，变量指向的是内存地址保存的是一个指针。
 *   const 只能保证指针是不可以被更改，但指针指向的数据结构是可以被改变的。

 */
import React from 'react';

function LetAndVarAndConst() {
  function shuchu() {
    let sex;
    console.log('函数内部', sex); // undefined
    sex = 666;
    console.log('函数内部', sex); // 666
  }
  shuchu();

  return <div />;
}
export default LetAndVarAndConst;
